package cn.itcast.nems.order.dao.dataobject;

import cn.itcast.nems.employee.dao.bean.EmployeeGroupBean;
import lombok.Getter;
import lombok.Setter;

import java.util.List;

/**
 * <p>
 * 退费单-头
 * </p>
 *
 * @author liyong
 * @since 2023-08-31
 */
@Getter
@Setter
public class OrderRefundDO {

    private static final long serialVersionUID = 1L;
    private String id;

    /**
     * 学籍id
     */
    private String studentRecordId;
    /**
     * 班级ID
     */
    private Integer clazzId;

    /**
     * 班级名称
     */
    private String clazzName;
    /**
     * 学员姓名
     */
    private Integer studentId;
    private String studentName;
    private String studentNo;

    /**
     * 退费单号，生成规则：TF+YYMMDD+ZEROFILL(MURMURHASH(UUID()),0,10) 示例：TF2308281693193454
     */
    private String no;
    /**
     * 应退金额。单位：分
     */
    private String refundableAmount;
    /**
     * 回冲金额
     */
    private String backAmount;

    /**
     * 实际退款总金额。单位：分
     */
    private String amount;

    /**
     * 退款付款时间
     */
    private String refundDate;

    /**
     * 退费原因描述
     */
    private String reasonDescription;

    /**
     * 退费类型，来自于数据字典
     */
    private String refundTypeName;
    /**
     * 退款渠道名称，沿用老EMS字段
     */
    private String refundChannel;

    /**
     * 退款手续费，沿用老EMS字段。单位：分
     */
    private String charge;
    /**
     * 退费业务线：来自于订单上的业务线
     */
    private String businessLineName;
    /**
     * 退款操作人姓名，通常为财务
     */
    private String refundOperatorName;

    private String createdDatetime;

    /**
     * 创建时间
     */
    private String createdStartDate;
    private String createdEndDate;

    /**
     * 退费方式：原路退费|ORIGINAL、银行转账|BANK_TRANSFER、现金|CASH、其他|OTHER。注：来自于数据字典
     */
    private String refundMethod;
    private String paymentNo;
    private String refundTypeId;

    /**
     * 退费班级信息
     */
    private List<RefundClazzInfosDO> refundClazzInfosDOList;

    /**
     * 是否特殊退费：0否、1是
     */
    private Boolean specialFlag;
    private List<EmployeeGroupBean> employeeGroups;


}
